package com.conrradocamacho.carmen;

import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class InicioActivity extends ActionBarActivity {
	
	private TextView	textComentario;
	private EditText 	editNome;
	private Button 		buttonConfirmar;
	private Menu 		menu;
	
	@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_inicio);
        
        getObjects();
        setObjects();
    }
	
	@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        this.menu = menu;
        return true;
    }
	
	@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
	
	/**
	 * Obtem componentes
	 */
	private void getObjects() {
		textComentario = (TextView) findViewById(R.id.textComentario);
		editNome = (EditText) findViewById(R.id.editNome);
		buttonConfirmar = (Button) findViewById(R.id.buttonConfirmar);
	}
	
	/**
	 * Associa eventos aos componentes
	 */
	private void setObjects() {
		buttonConfirmar.setOnClickListener(onClickConfirmar());
		textComentario.setText(getResources().getString(R.string.texto_detalhe_inicio));
	}
	
	View.OnClickListener onClickConfirmar() {
		return new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				if (validaCampos()) {
					//TODO IMPLEMENTAR TASK
					carregarMissao();
				}
				else {
					String titulo = getResources().getString(R.string.texto_titulo_erro);
					String mensagem = getResources().getString(R.string.texto_detalhe_erro_campo);
					
					exibeErro(titulo, mensagem);
				}
			}
		};
	}
	
	/**
	 * Metodo para validar se os campos estao preenchidos
	 * @return true/false
	 */
	private Boolean validaCampos() {
		if (editNome.getText() != null 
				&& editNome.getText().length() > 0) {
			return true;
		}
		return false;
	}
	
	/**
	 * Metodo para exibir alerta de erro
	 * @param titulo
	 * @param mensagem
	 */
	private void exibeErro(String titulo, String mensagem) {
		AlertDialog.Builder builder = new AlertDialog.Builder(InicioActivity.this);
		builder.setTitle(titulo);
		builder.setMessage(mensagem);
		builder.setNeutralButton(R.string.botao_ok, new DialogInterface.OnClickListener() {
			
			@Override
			public void onClick(DialogInterface dialog, int which) {
				//
			}
		});
		
		AlertDialog dialog = builder.create();
		dialog.show();
	}
	
	/**
	 * Metodo para carregar a tela de Missao
	 */
	private void carregarMissao() {
		Intent intent = new Intent(InicioActivity.this, MissaoActivity.class);
		startActivity(intent);
	}
	
}
